The present invention is related to address conversion in a character generator used with a CRTC scan circuit so that the generator's memory space is completely utilized.
Nowadays, a 24.times.24 dot matrix Chinese character display system is widely used in Chinese or bilingual (Chinese/English) computers; in such a system, a lot of memory space is used in displaying Chinese characters and the Chinese character patterns are usually stored in nine 1 megabyte type MASKROM memory.
Referring to FIG. 1, an address signal (XAO.about.XA13) comes from a CPU (not shown) through an address bus 14 to a multiplexer 11. In addition, an address signal (MAO.about.MA13) comes from a cathode ray tube controller (CRTC) IO, which may be of the type 6845 produced by Motorola Inc., through an address bus 15 to the multiplexer 11. The output signal (BAO.about.BA13) of the multiplexer 11 passes through an address bus 16 to a code buffer 12, and then the output signal (CDO.about.CDl5) of the code buffer 12 passes through an address bus 17 to a nine 1 megabyte type MASKROM Chinese character generator 13. A row address signal (RAO.about.RA4) coming from the CRTC 10 directly passes to the Chinese character generator 13 through a row address bus 19. By combining the address bus 17 information CDO.about.CDl5 and the row address bus 19 information (RAO.about.RA4), the desired corresponding character data can be selected, and these character data (ROMDO.about.ROMD23) pass through a data bus 18 to a video circuit (not shown) to process and display.
As technology has progressed, memory circuits having larger storage capacity have been produced, for example, the new 4 megabyte type MASKROM: thus, the nine 1 megabyte type MASKROM currently used in a Chinese character generator can be replaced by only three 4 megabyte type MASKROM, and more Chinese character patterns can be stored in those three 4 megabyte type MASKROM. The result is that circuit board space and material cost can be reduced, and since the reliability is improved, maintenance costs can be saved, so the trend of using memory having larger storage capacity will continue in the future.
However, using memory having larger storage capacity also has a drawback caused by the limitation of the CRTC scan circuit: in order to match the same effect like the nine 1 megabyte type MASKROM, the three 4 megabyte type MASKROM will waste one-fourth of its memory space. Since a Chinese character pattern is often formed by a 24.times.24 dot matrix, with the character frame size being set as a 26.times.29 dot matrix, one Chinese character row must be scanned by 29 row address values, therefore the CRTC must supply 5 row address lines RAO.about.RA4 for the Chinese character generator's use.
Referring to FIG. 1 and FIG. 2, the address signal CDO.about.CD15 coming from the code buffer 12 selects each character memory address space a0.about.31, 32.about.63, 64.about.95, etc. within the character generator 13, and the row address signal RAO.about.RA4 coming from the CRTC IO scans within each character memory address space: the full range of row address values produced by the 5 scan lines RAO.about.RA4 is from 0 to 31 (since 2.sup.5 =32). For example, in FIG. 2 a character memory address space 211 in the memory space 21 of a 4 megabyte type MASKROM Chinese character generator may have its row address range as 0.about.31, however, since a Chinese character actually only occupies 24 dots (e.g., row address range 0.about.23), the remaining 8 dots (row address range 24.about.31) are unused; this latter portion is shown by the address space 212. If the next Chinese character were simply to use the memory space 21 successively from the 24th dot (i.e., from row address 24), the CRTC row address counting would progress from the 24th dot until the 3lst dot was counted, then the row count would restart from 0, splitting the next Chinese character into two parts on the display screen. Thus, the row addresses for the next character can only start from row address 32, in the character memory address space 213, and not row address 24 (the row address counting restarting from 0), and the remaining 8 dots (row addresses 24.about.31 in space 212) must be discarded.
In short, the Chinese character pattern actually uses 24 dots, but the character frame space within the 4 megabyte type MASKROM is 32 dots, so causing much wasted space in the memory.
An address conversion procedure according to a preferred embodiment of the present invention intends to improve on the above-described waste of memory space. Referring to FIG. 3 an address converter 23 is inserted between the address buffer 20 and the 4 megabyte type MASKROM 21, so that the memory space is completely utilized.